Image processing apparatus, control method for image processing apparatus, and storage medium

ABSTRACT

An image processing apparatus includes a setting unit and a communication control unit to execute HTTP communication to an external apparatus. The setting unit sets whether to use a proxy server. The communication control unit controls, in a case where Hypertext Transfer Protocol (HTTP) communication to the external apparatus on a personal area network is performed, executing the HTTP communication to the external apparatus by other than the proxy server, even if use of the proxy server is set.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/148,714 filed Oct. 1, 2018, which claims the benefit of JapanesePatent Application No. 2017-197251, filed Oct. 10, 2017, each of whichis hereby incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION Field of the Invention

The present disclosure relates to an image processing apparatus having awireless communication function.

Description of the Related Art

An increasing number of image processing apparatuses, such asmultifunctional peripherals, are equipped with wireless local areanetwork (LAN) functions. There is also an image processing apparatusthat can transmit and receive information to and from a communicationterminal, by establishing wireless connection with the communicationterminal without the intervention of a relay apparatus (referred to asdirect wireless communication). Japanese Patent Application Laid-OpenNo. 2013-157941 discusses an image processing apparatus that transmitsand receives data to and from an external communication terminal, byestablishing wireless connection conforming to Wi-Fi Direct® standardwith a mobile terminal and using the established wireless connection.The image processing apparatus of Japanese Patent Application Laid-OpenNo. 2013-157941 can also transmit and receive data to and from acommunication terminal on a LAN, by connecting to an external accesspoint (AP) serving as a wireless client conforming to the Institute ofElectrical and Electronics Engineers (IEEE) 802.11.

In many cases, an image processing apparatus, such as a multifunctionalperipheral, is installed in an organization, for example. In anorganization including a company, there is a case where networkoperation is managed via a proxy server, for Hypertext Transfer Protocol(HTTP) communication to the Internet that is outside the organization,for the purpose of improving information security.

In view of this situation, whether to use a proxy server can be set inan image processing apparatus of recent years, such as a multifunctionalperipheral, to allow the image processing apparatus to perform the HTTPcommunication with an apparatus on the Internet even in an environmentwhere the network operation is managed as described above.

In addition, in recent years, to facilitate use of an image processingapparatus from a communication terminal, a cooperation application forcooperation between a communication terminal and the image processingapparatus has appeared. The communication terminal installed with such acooperation application can cooperate with an information processingapparatus, such as a multifunctional peripheral, by using theabove-described direct wireless communication. The cooperationapplication has a plurality of cooperation functions including a printfunction for transmitting print data to the image processing apparatus,and a scan function for saving data obtained by scanning an original inthe image processing apparatus into the communication terminal.

In this way, an image processing apparatus of recent years has twocommunication paths; one for communication to a network within acompany, and the other for the direct wireless communication.

Further, in a case where the HTTP communication is performed from animage processing apparatus in which use of a proxy server is set, a HTTPrequest is transmitted to the set proxy server, and the HTTPcommunication is performed via this proxy server. In an image processingapparatus, such as a multifunctional peripheral, whether to use a proxyserver is set as an overall setting for a network. Consequently, whenthe HTTP communication to a communication apparatus communicating withthe image processing apparatus in the direct wireless communication isattempted, the above-described HTTP request may be transmitted via theproxy server. In this case, the following issue can arise: the proxyserver cannot find a partner communication apparatus and thus fails toperform the HTTP communication with a communication terminal.

SUMMARY OF THE INVENTION

The present disclosure is directed to providing a mechanism forperforming HTTP communication to a partner on a personal area networknot via a proxy server, even if use of the proxy server is set.

According to an aspect of the present disclosure, an image processingapparatus to execute HTTP communication to an external apparatusincludes a setting unit configured to set whether to use a proxy server,and a communication control unit configured to control, in a case whereHypertext Transfer Protocol (HTTP) communication to the externalapparatus on a personal area network is performed, executing the HTTPcommunication to the external apparatus by other than the proxy server,even if use of the proxy server is set.

Further features of the present invention will become apparent from thefollowing description of embodiments with reference to the attacheddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an outline of a system.

FIG. 2 is a diagram illustrating a hardware configuration of amultifunctional peripheral (MFP).

FIG. 3 is a diagram illustrating network settings of the MFP.

FIGS. 4A and 4B are diagrams each illustrating a screen to be displayedby an operation unit of the MFP.

FIG. 5 is a flowchart illustrating control of the MFP.

FIG. 6 is a flowchart illustrating control of the MFP.

DESCRIPTION OF THE EMBODIMENTS

Embodiments be described in detail below with reference to the drawings.The embodiments to be described below are not intended to limit thedisclosure according to the scope of claims, and not all combinations offeatures to be described in the embodiments are necessary for a solutionto the disclosure.

A configuration of a communication system according to an embodimentwill be described with reference to FIG. 1. The communication systemaccording to the present embodiment includes a communication terminal102, a multifunctional peripheral (MFP) 101, and an access point (AP)103. The communication system according to the present embodimentfurther includes a communication terminal, such as a personal computer(PC) 104, installed within a local area network (LAN) 100, a gateway 105serving as a firewall, a proxy server 106, and a server 107 on theInternet.

First, apparatuses within the LAN 100 will be described. The Instituteof Electrical and Electronics Engineers (IEEE) 802.11 standard(hereinafter referred to as the IEEE 802.11 or the IEEE 802.11 standard)includes transmission medium flow control and multiplexingspecifications as well as physical layer specifications to implementcomputer network communication in predetermined frequency bands withoutconnecting wires. The communication terminal 102 can execute wirelesscommunication based on the IEEE 802.11. The communication terminal 102can connect to a wireless network 150 a provided by the AP 103. The AP103 is connected to the LAN 100. The AP 103 interconnects the wirelessnetwork 150 a and the LAN 100 that is a wired network, by converting anIEEE 802.11 frame and an Ethernet frame to and from each other, andtransmitting the result. A communication terminal connected to the AP103 can communicate with an apparatus, such as a communication terminal,connected to the LAN 100 and a server on the Internet 140.

The MFP 101 is an image processing apparatus having a print function ofreceiving print data via a network and printing the received print data,and a transmission function of transmitting data obtained by scanning toa communication terminal on a network. When wireless network settingsfor connection to the AP 103 are set, the MFP 101 can communicate withan external apparatus connected to the wireless network 150 a, the LAN100, or the Internet 140, via the AP 103. In the present embodiment, acase where the MFP 101 is connected to the LAN 100 via the AP 103 isused as an example, but this is not limitative. For example, the MFP 101can be connected to the LAN 100 by using a network cable. The MFP 101can transmit data such as scan data, to apparatuses, such as the PC 104on the LAN 100 and the server 107 on the Internet 140. For example, FileTransfer Protocol (FTP), Web-based Distributed Authoring and Versioning(WebDAV), and e-mail can be used for the data transmission.

The MFP 101 can also operate in an access point mode. In a case wherethe MFP 101 operates in the access point mode, the MFP 101 operates as asoftware access point and provides a wireless network 150 b. Thewireless network 150 b is a wireless personal area network (WPAN) usedfor communication with a peripheral communication terminal (e.g., thecommunication terminal 102), and is not interconnected with the LAN 100and the Internet 140.

In the case where the MFP 101 operates in the access point mode, thecommunication terminal 102 can join the wireless network 150 b byconnecting to a software AP provided by the MFP 101. The communicationterminal 102 connected to the software AP provided by the MFP 101 canexecute wireless communication directly with the MFP 101 without theintervention of a relay apparatus, such as the AP 103. In the presentembodiment, a form in which a communication terminal executes wirelesscommunication directly with the MFP 101 without the intervention of arelay apparatus, such as the AP 103, is hereinafter referred to as thedirect wireless communication.

The communication terminal 102 can communicate with the MFP 101 by usingthe direct wireless communication. Further, a cooperation applicationfor performing printing and scanning in cooperation with the MFP 101 isinstalled in the communication terminal 102. The cooperation applicationhas a plurality of cooperation functions including a print function fortransmitting print data to the MFP 101, and a scan function for savingdata obtained by scanning an original in the MFP 101 into thecommunication terminal 102.

Hypertext Transfer Protocol (HTTP) provides information systemapplication rules concerning formatting data communication, such asthrough structure text, and transmitting data between nodes usinglogical link and HTTP commands. When a user provides an instruction forexecuting the scan function from an operation screen for the cooperationapplication, the communication terminal 102 activates a WebDAV server.The MFP 101 uploads data obtained by scanning an original to the WebDAVserver activated by the communication terminal 102, whereby the data istransferred to the communication terminal 102. The WebDAV allows browserusers to perform operations to author remote World Wide Web content by,for example, creating, and moving content on a remote server. The WebDAVis a protocol formed by expanding HTTP, and adopts a communicationscheme similar to that of the HTTP, for data communication betweenterminals. Therefore, in a case where the scan function is used from thecooperation application, HTTP communication is performed from the MFP101 to the communication terminal 102.

In the present embodiment, a smartphone or a tablet type PC is used asan example of the communication terminal, but this is not limitative.The smartphone or the tablet type PC is used as an example of thecommunication terminal capable of executing wireless communication, andother types of communication terminal such as a laptop PC and a wearableterminal may be adopted.

Further, in the present embodiment, the MFP 101 that is amultifunctional apparatus is used as an example of the image processingapparatus, but this is not limitative. For example, a single functionperipheral (SPF), such as a scanner apparatus, may be adopted.Furthermore, the present embodiment is applicable to various other typesof image processing apparatus having two communication paths; one forcommunication to a network within an organization and the other for thedirect wireless communication. The present embodiment is also applicableto, for example, digital signage for displaying information or anadvertisement as illuminant advertising media, a contents distributionterminal, a bulletin board, and a 3D printer. In this case, the imageprocessing apparatus, such as the digital signage, the contentsdistribution terminal, the bulletin board, or the 3D printer, iscontrolled to be capable of performing the HTTP communication not via aproxy server, when performing the HTTP communication to a communicationterminal connected in the direct wireless communication. The HTTPcommunication may be performed by other than a proxy server.

Next, communication from the LAN 100 to the Internet 140 will bedescribed. The gateway 105 is connected to the LAN 100 that is a privatenetwork within an organization, such as a company, and to a LAN 130provided as a demilitarized zone (DMZ). The gateway 105 serves as afirewall.

The proxy server 106 installed between the LAN 130 and the Internet 140is a server for relaying the HTTP communication, in a case where accessfrom the LAN 100 to a web server on the Internet 140 is made. The proxyserver 106 is provided in view of security including management of anaccess log and prevention of direct access from outside.

Therefore, in the communication system according to the presentembodiment, in a case where the HTTP communication is performed from aterminal connected to the LAN 100 to a web server on the Internet 140 orthe WebDAV server, the communication is performed via the proxy server106. If use of a proxy server is set in the MFP 101, the HTTPcommunication can be performed via the proxy server 106.

<MFP>

Next, the MFP 101 will be described with reference to FIG. 2. FIG. 2 isa block diagram illustrating a hardware configuration of the MFP 101.The MFP 101 has a reading function of reading an image, and a printfunction of printing an image on a sheet.

A control unit 110 includes a central processing unit (CPU) 111, andcontrols operation of the entire MFP 101. The CPU 111 reads out acontrol program stored in a read only memory (ROM) 112 or a storage 114to perform various kinds of control such as print control and readingcontrol. The ROM 112 stores a control program executable by the CPU 111.A random access memory (RAM) 113 is a main memory of the CPU 111, andused as a work area or a temporary storage area for loading commands ofvarious control programs. The storage 114 stores print data, image data,various programs, and various kinds of setting information. For example,the storage 114 may store setting information about scan received froman external communication terminal on the WPAN.

In the MFP 101 of the present embodiment, a single CPU, i.e., the CPU111, executes each process in a flowchart to be described below, byusing one memory (the RAM 113). However, other mode may be adopted. Forexample, each process in the flowchart to be described below can beexecuted by allowing a plurality of processors, random-access memories(RAMs), read-only memories (ROMs), and storages to collaborate with eachother. A part of the processing can be implemented by hardware such asan application specific integrated circuit (ASIC) and afield-programmable gate array (FPGA).

An operation unit interface (I/F) 115 connects an operation unit 116 andthe control unit 110. The operation unit 116 includes a liquid crystaldisplay unit having a touch panel function and various hardware keys.The operation unit 116 functions as a display unit for displayinginformation and a receiving unit for receiving an instruction from auser.

A reading unit I/F 117 connects a scanner 118 and the control unit 110.The scanner 118 may optically scans images, printed text, handwriting oran object and converts the scan to a digital image. The scanner 118generates a read image by reading an original. The generated read imageis transmitted to an external apparatus or used for printing.

A print unit I/F 119 connects a printer 120 and the control unit 110.The printer 120 prints an image on a sheet based on print data receivedfrom outside.

The control unit 110 can connect to a network such as the LAN 100 via awired LAN I/F 121.

The control unit 110 further includes a wireless LAN I/F 122. Thewireless LAN I/F 122 is an interface for performing wirelesscommunication conforming to the IEEE 802.11. The CPU 111 collaborateswith the wireless LAN I/F 122 to provide a wireless client function forperforming wireless communication by connecting to an external AP, and asoftware AP function to allow the MFP 101 to act as an AP conforming tothe IEEE 802.11.

When connection information (a service set identifier (SSID) and asecurity key) for connection to the AP 103 is set as wireless networksettings of the MFP 101, the MFP 101 can perform wireless communicationvia the AP 103.

The software AP is activated in a case where the access point mode isON. In a case where the access point mode is set to ON by a user, theCPU 111 collaborates with the wireless LAN I/F 122 to act as thesoftware AP to which an external apparatus is connectable. The SSID andthe security key for connection to the software AP are displayed by theoperation unit 116 of the MFP 101, according to a user operation. TheMFP 101 of the present embodiment can activate one software AP, but thisis not limitative. Further, the MFP 101 of the present embodiment cansimultaneously operate the wireless client function and the software APfunction (simultaneous operation is possible). In other words, althougha physical wireless network interface is one, two I/Fs are provided aslogical network interfaces, which are an I/F for use as a software APand an I/F for connecting to an external AP as a wireless client.

Next, the network settings of the MFP 101 will be described withreference to FIG. 3. Settings about a network can be set by a user, asan item of setting for controlling the operation of the MFP 101. FIG. 3is a diagram illustrating the network settings, specifically,illustrating an item of the setting for controlling the operation of theMFP 101. The user such as an administrator can change each settingillustrated in FIG. 3 via a setting screen displayed by the operationunit 116 of the MFP 101. These network settings are stored in anonvolatile storage area, such as the storage 114, and appropriatelyreferred to, for example, in control in the flowchart to be describedbelow.

As illustrated in FIG. 3, an item in which settings can be changed inthe MFP 101 includes ON or OFF of each communication interface and asetting of connection information of each communication interface. Inthe present embodiment, the description will be given of the case inwhich, for example, the wireless LAN I/F 122 is set to ON, and theconnection information (including a SSID, a security key, and aninternet protocol (IP) address assigned to the MFP 101) for connectionto the AP 103 is set.

The user, such as the administrator, can change settings about thedirect wireless communication and settings about the proxy serverdescribed above. Settings 301 indicate the settings about the directwireless communication. Specifically, the settings 301 include a setting302 about whether to permit the direct wireless communication and asetting 303 about an IP address in a case where the direct wirelesscommunication is used. For the setting 303, it is possible to set, forexample, an IP address to be assigned to the MFP 101, and a range of IPaddresses to be distributed to wireless clients to be connected to thesoftware AP. In the present embodiment, permission of the directwireless communication is set for the purpose of description. Inaddition, 192.168.22.1/24 is set as the IP address to be assigned to theMFP 101 and a range of 192.168.22.2 to 192.168.22.10 is set as the rangeof IP addresses to be distributed.

Settings 304 indicate settings about the proxy server. Specifically, thesettings 304 include a setting 305 about whether to use a proxy serverand settings 306 for performing communication with the proxy server. Thesettings 306 include the address of the proxy server to be used. Inaddition, for example, whether to use an authentication function of theproxy server and a password to be used for authentication can be set asappropriate.

In the present embodiment, the description will be given of the case inwhich use of the proxy server is set and the IP address or host name ofthe proxy server 106 is set as the address of the server. Therefore, aHTTP request is to be transmitted from the MFP 101 via the proxy server106.

Meanwhile, as described with reference to FIG. 1 and FIG. 2, the MFP 101has two communication paths; one for communication to be performed viathe LAN 100, and the other for communication to be performed via thewireless network 150 b provided by the software AP provided by the MFP101 itself.

Here, in a case where use of the proxy server 106 is set in the MFP 101,if the HTTP communication is performed from the MFP 101, a HTTP requestis transmitted to the proxy server 106, and the HTTP communication isperformed via the proxy server 106. Consequently, in a case where anattempt is made to perform the HTTP communication to a communicationapparatus (e.g., the communication terminal 102) performing the directwireless communication with the MFP 101 via the wireless network 150 b,the above-described HTTP request may be transmitted via the proxy server106. In this case, the proxy server 106 cannot find a partnercommunication apparatus and thus fails to perform the HTTP communicationwith the communication terminal 102.

In the present embodiment, in view of such an issue, control isperformed such that, even if use of a proxy server is set, the HTTPcommunication can be performed not via the proxy server, for a partnercommunicating in the direct wireless communication.

First, activation and ending of the software AP providing the wirelessnetwork 150 b will be described with reference to FIGS. 4A and 4B. FIGS.4A and 4B are diagrams each illustrating an example of a screendisplayed by the operation unit 116 of the MFP 101.

A user using the MFP 101 can use each function of the MFP 101, byselecting a key (a display item) for using a function, such as a copyfunction or the scan function, of the MFP 101 via a main menu screendisplayed by the operation unit 116. The main menu provides a mobilecooperation key to be used for cooperation with the communicationterminal 102, such as a smartphone or a tablet terminal. The MFP 101allows transition of the screen displayed by the operation unit 116 to amobile portal screen illustrated in each of FIGS. 4A and 4B, accordingto selection of the mobile cooperation key by the user.

FIGS. 4A and 4B are diagrams each illustrating an example of the screendisplayed by the operation unit 116 of the MFP 101. Specifically, FIGS.4A and 4B each illustrate an example of the mobile portal screen.

Via the mobile portal screen, the user can check information when thecommunication terminal 102 connects to the MFP 101, and can switchbetween activation and ending of the software AP.

A start key 401 in FIG. 4A is a key to be used to activate the softwareAP to be used in the direct wireless communication. Based on selectionof the start key 401 by the user, the CPU 111 changes the screendisplayed by the operation unit 116 to the screen in FIG. 4B.

Further, the CPU 111 sets the access point mode to ON, and activates thesoftware AP for the direct wireless communication by controlling thewireless LAN I/F 122.

In the present embodiment, the software AP is to be activated using suchsettings that a SSID for distinguishing an access point is“DIRECT_PRINTER-AP” and a network key is “123” when the software AP isactivated.

The screen in FIG. 4B displays information 411 as the connectioninformation for connection to the software AP of the MFP 101. The screenin FIG. 4B displays a QR Code® 412 including the connection information,such as the SSID and the network key. An end key 413 is a key to be usedin stopping the software AP. Based on selection of the end key 413 bythe user, the MFP 101 stops the activated software AP.

The cooperation application installed in the communication terminal 102reads the QR code 412 by using a camera (not illustrated) of thecommunication terminal 102 to acquire the connection information. The QRcode 412 includes the connection information for connection to thesoftware AP of the MFP 101 and the IP address of the MFP 101. Thecooperation application connects to the software AP using the acquiredconnection information, and thereby joins the wireless network 150 bprovided by the software AP. Further, the cooperation application canconnect to the software AP by allowing the user to input the SSID andthe network key. The user can recognize the connection information to beinput into a print application, by viewing the information 411 displayedon the screen in FIG. 4B.

Next, a specific method for control to perform the HTTP communicationnot via the proxy server, for the partner communicating in the directwireless communication, will be described with reference to a flowchartin each of FIG. 5 and FIG. 6. The CPU 111 reads a program forimplementing each control module stored in the ROM 112 or the storage114 into the RAM 113 and executing the read program to implement eachoperation (step) illustrated in the flowchart in each of FIG. 5 and FIG.6. The CPU 111 mainly executes the processing of the flowchart, but apart of the processing is implemented in collaboration with eachinterface, for example, the wireless LAN I/F 122.

FIG. 5 is a flowchart illustrating control for connection anddisconnection of the direct wireless communication in the MFP 101 and aperipheral communication terminal. Each processing procedure illustratedin the flowchart in FIG. 5 is executed in a case where the MFP 101operates as the software AP. For example, the processing procedure ofthe flowchart is executed in response to completion of the activation ofthe software AP upon selectin of the start key 401 illustrated in FIG.4A by the user.

In step S501, the CPU 111 determines whether a connection request forconnection to the software access point is received from a communicationterminal. In a case where the connection request for connection to thesoftware access point is received (YES in step S501), the processingproceeds to step S502. In a case where the connection request forconnection to the software access point is not received (NO in stepS501), the processing proceeds to step S507.

In step S502, the CPU 111 determines whether to permit the connectionrequest received from the communication terminal. For example, in a casewhere authentication based on authentication information included in theconnection request is successful, and the maximum number of connectableapparatuses for the direct wireless connection is not exceeded, the CPU111 determines to permit the connection request (YES in step S502). Inthis case, the processing proceeds to step S503. On the other hand, in acase where the authentication based on the authentication informationincluded in the connection request fails, or the number of apparatusesin the direct wireless connection exceeds the maximum number ofconnectable apparatuses for the direct wireless connection even if theauthentication is successful, the CPU 111 determines that the connectionrequest is an error (NO in step S502). In this case, the processingproceeds to step S506.

In step S503, the CPU 111 establishes wireless communication with thecommunication terminal that has transmitted the connection request, andassigns an IP address to this communication terminal. For example, theCPU 111 assigns an IP address, for example, 192.168.22.2/24. Uponcompletion of the assignment, the processing proceeds to step S504.

In step S504, the CPU 111 adds the IP address assigned in step S503 to adirect connection list for managing communication terminals in thedirect wireless communication, and then the processing proceeds to stepS505. The direct connection list is stored in the RAM 113 or the storage114, and may be appropriately referred to in the processing procedure ofthe flowchart to be described below.

In step S505, the CPU 111 executes cooperation processing with theconnected communication terminal (e.g., the communication terminal 102).Specifically, for example, the CPU 111 executes print processing inwhich print data is received from the communication terminal 102 via thewireless network 150 b and the received print data is printed. The CPU111 can also execute scan cooperation processing in which an original isread with the scanner 118 and data obtained by this reading is storedinto the storage of the communication terminal 102. The scan cooperationprocessing is performed, for example, in the following procedure. First,a setting about scan is set on the cooperation application of thecommunication terminal. The setting about scan includes settings of thesize of an original, whether to read both sides or one side of anoriginal, and whether to scan an original placed in an auto documentfeeder (ADF) or an original placed on a platen glass. The setting aboutscan further includes specification of a file format (such as JointPhotographic Coding Experts Group (JPEG), or Portable Original Format(PDF)) for transmission. The setting about scan furthermore includessettings of a resolution, and presence/absence of optical characterrecognition (OCR). Subsequently, when an instruction for executing scancooperation is provided by a user operation, the communication terminal102 activates the WebDAV server. Further, the communication terminal 102transmits data, which includes destination information for connection tothe activated WebDAV server and the above-described setting about scan,to the MFP 101. This transmission of the data and the transmission ofthe print data are transmission from the communication terminal 102 tothe MFP 101. Therefore, the data can be transmitted to the communicationterminal 102 not via the proxy server 106.

Upon receipt of the data including the destination information and thesetting about scan from the communication terminal 102, the CPU 111obtains an image by scanning an original in collaboration with thescanner 118. In addition, the CPU 111 generates a file to be uploaded tothe WebDAV server of the communication terminal 102, by performingprocessing, such as image processing on the obtained image andconversion to the specified file format. Upon completion of thegeneration of the file, the CPU 111 accesses the WebDAV server of thecommunication terminal 102 and uploads the generated file. In this case,the MFP 101 starts the communication to the WebDAV server of thecommunication terminal 102. In other words, the MFP 101 transmits a HTTPrequest for access to the WebDAV server. In the present embodiment, theHTTP communication is thus performed with the partner of the directwireless connection. The communication control in this case will bedescribed with reference to FIG. 6.

Subsequently, in step S506, the CPU 111 determines whether aninstruction for ending the software access point is received. In a casewhere the instruction for ending the software access point is received(YES in step S506), the processing proceeds to step S509. In step S509,the CPU 111 deletes all the communication terminals added to the directconnection list from this direct connection list. In other words,initialization of the direct connection list is performed. Uponcompletion of the initialization of the direct connection list, theseries of processes of the control for connection and disconnection ofthe direct wireless communication ends. On the other hand, in a casewhere the instruction for ending the software access point is notreceived (NO in step S506), the processing returns to step S501.

In step S507, the CPU 111 determines whether there is a timed-outcommunication terminal among the communication terminals connected tothe software AP. For example, in a case where there is a communicationterminal that has not performed communication for a predetermined time(e.g., ten minutes) since the establishment of the connection, the CPU111 determines that there is a timed-out communication terminal (YES instep S507). In this case, the processing proceeds to step S508. On theother hand, in a case where there is no communication terminal that hasnot performed communication for the predetermined time since theestablishment of the connection, the CPU 111 determines that there is notimed-out communication terminal (NO in step S507). In this case, theprocessing proceeds to step S505.

In step S508, the CPU 111 deletes the timed-out communication terminalfrom the direct connection list. In addition, if the wirelesscommunication with the timed-out communication terminal is maintained,the CPU 111 ends the wireless connection with this communicationterminal. Upon completion of the process in step S508, the processingproceeds to step S505.

By the series of processes in step S501 to step S508, a partnercurrently connected in the direct wireless communication is included inthe direct connection list. In the present embodiment, the case wherethe initialization of the direct connection list is performed at thetiming of step S509 is described as an example, but this is notlimitative. For example, the initialization of the direct connectionlist can be performed as an initialization process in activating thesoftware AP.

Next, control for network communication using this direct connectionlist will be described with reference to FIG. 6. Each processillustrated in the flowchart in FIG. 6 is executed upon completion ofthe activation following power-on of the MFP 101.

In step S601, the CPU 111 determines whether data is received via anetwork. In a case where data is received via a network (YES in stepS601), the processing proceeds to step S602. In a case where data is notreceived via a network (NO in step S601), the processing proceeds tostep S603.

In step S602, the CPU 111 executes processing based on the data receivedin step S601. For example, in a case where data including WebDAVdestination information and scan setting is received, the CPU 111performs the above-described scan processing and file generationprocessing. Upon completion of the file generation processing,transmission processing for a file using the HTTP protocol subsequentlybegins. In other words, the processing proceeds to step S603. In a casewhere print data is received, an image is printed on a sheet based onthe received print data. Upon completion of the print processing, theprocessing returns to step S601.

In step S603, the CPU 111 determines whether to transmit data to outsideby using the HTTP. In a case where data is to be transmitted to outsideby using the HTTP (YES in step S603), the processing proceeds to stepS604. In a case where data is not to be transmitted to outside by usingthe HTTP (NO in step S603), the processing proceeds to step S608. Thecommunication using the HTTP can include HTTP Secure (HTTPS). Further,for example, in a case where a proxy server supports a relay of the FTP,the processing may also proceed to step S604 in a case where data is tobe transmitted using the FTP.

In step S604, the CPU 111 determines whether use of a proxy server isset. In a case where the setting 305 about use of a proxy server is setto ON (YES in step S604), the processing proceeds to step S605. In acase where the setting 305 about use of a proxy server is set to OFF (NOin step S604), the processing proceeds to step S607.

In step S605, the CPU 111 determines whether the partner in the HTTPcommunication is included in the direct connection list. In a case wherethe partner in the HTTP communication is included in the directconnection list (YES in step S605), the processing proceeds to stepS607. In a case where the partner in the HTTP communication is notincluded in the direct connection list (NO in step S605), the processingproceeds to step S606.

In step S606, the CPU 111 executes the HTTP communication with thecommunication partner via the proxy server. Specifically, the CPU 111transfers a HTTP request to the proxy server (e.g., the proxy server106) set in the setting 306 to implement the HTTP communication via theproxy server. Upon completion of the data transmission, the processingreturns to step S601, and waits for occurrence of transmission/receptionof data. By this processing, in a case where the MFP 101 accesses aWebDAV server or a web server on the Internet 140 via the LAN 100, theHTTP communication can be performed via the proxy server set beforehand.

On the other hand, in step S607, the CPU 111 executes the HTTPcommunication with the communication partner not via the proxy server.By this processing, in a case where the HTTP communication for uploadinga file to the WebDAV server activated by the communication partner(e.g., the communication terminal 102) connected in the direct wirelesscommunication is to be performed, the HTTP communication can beperformed not via the proxy server. Accordingly, even if use of theproxy server is set, a file can be stored into the storage of thecommunication terminal 102 not via the proxy server. Upon completion ofthe data transmission, the processing returns to step S601 and waits foroccurrence of further transmission/reception of data.

Meanwhile, in step S608, the CPU 111 determines whether to perform datatransmission in another protocol. In a case where data transmission inanother protocol is to be performed (YES in step S608), the processingproceeds to step S609. In a case where data transmission in anotherprotocol is not to be performed (NO in step S608), the processingproceeds to step S610. In step S609, the CPU 111 performs the datatransmission in the another protocol. In the data communication in theanother protocol, the data is transmitted to a specified transmissionpartner, not to the proxy server 106. Upon completion of the datatransmission, the processing returns to step S601, and waits foroccurrence of transmission/reception of data.

Subsequently, in step S610, the CPU 111 determines whether aninstruction for power-off is received. In a case where an instructionfor power-off is received (YES in step S610), the processing proceeds tostep S612. In step S612, the CPU 111 performs shutdown processing forthe MFP 101 and ends the series of processes. In a case where aninstruction for power-off is not received (NO in step S610), theprocessing proceeds to step S611.

In step S611, the CPU 111 executes another processing. For example, theCPU 111 executes processing such as processing of the copy function ofprinting an image obtained by reading an original on a sheet. The otherprocessing is performed based on a user operation via the operation unit116, or performed based on an instruction received from, for example,the cooperation application. Upon completion of the another processing,the processing returns to step S601 and waits for occurrence of furthertransmission/reception of data.

As described above, in the present embodiment, even if use of the proxyserver is set, the HTTP communication can be performed not via the proxyserver, for the partner communicating in the direct wirelesscommunication.

<Modifications>

In the present embodiment, the case where the MFP 101 activates thesoftware AP and performs the wireless communication via the software APis described as an example of the direct wireless communication, butthis is not limitative. For example, the direct wireless communicationbetween the MFP and the communication terminal can be a different typeof wireless communications, for example, wireless communicationconforming to Wi-Fi Direct (registered trademark) standard or wirelesscommunication conforming to Wi-Fi Aware (registered trademark)certification. As a Wi-Fi standard, Wi-Fi Direct (registered trademark)standard is single radio hop communication that may allow devices toconnect together without requiring, for example, a wireless access pointor a wireless router. As a Wi-Fi certification program, Wi-Fi Aware(registered trademark) may allow establishing a file transferpeer-to-peer data connection and receiving applications or servicesavailability notifications from another compatible device or aparticular access point.

Further, in the present embodiment, the case where whether the HTTPcommunication is performed via the proxy server is determined dependingon whether the partner in the HTTP communication is included in thedirect connection list in step S605 is described as an example, but thisis not limitative. For example, whether the HTTP communication isperformed via the proxy server may be determined depending on whetherthe network address of the communication partner matches with thenetwork address of an IP address which is distributed by the softwareAP. In this case, in place of the process in step S605, determinationmay be made based on whether the network address of the partner matcheswith the network address of the IP address which is distributed by thesoftware AP, and the processing may proceed to step S607 in a case wherethe result of this determination is positive. On the other hand, theprocessing may proceed to step S606, in a case where the network addressof the communication partner does not match with the network address ofthe IP address which is distributed by the software AP.

Alternatively, whether the HTTP communication is performed via the proxyserver may be determined depending on whether the IP address of thecommunication partner is included in the range of IP addresses to beassigned to communication terminals. In this case, in place of theprocess in step S605, determination may be made based on whether the IPaddress of the communication partner is included in the range of IPaddresses to be assigned to communication terminals, and the processingmay proceed to step S607 in a case where the result of thisdetermination is positive. On the other hand, the processing may proceedto step S606, in a case where the IP address of the communicationpartner is not included in the range of IP addresses to be assigned tocommunication terminals.

Further, in the present embodiment, the HTTP, the HTTPS, and the FTP areeach described as an example of the communication protocol for executingthe communication via the proxy server, but this is not limitative.

The present embodiment is also applicable to a case where communicationis performed using any of other types of protocol including Simple MailTransfer Protocol (SMTP), Post Office Protocol (POP), Internet MessageAccess Protocol (IMAP), and telnet. In this case, the processing mayproceed to step S604, also when the CPU 111 determines that data is tobe transmitted to outside by using a protocol, such as the SMTP, thePOP, the IMAP, or the telnet, in step S603.

As described above, according to each of the embodiments describedabove, even if use of the proxy server is set, the HTTP communicationcan be performed not via the proxy server, for the partner on thepersonal area network.

Other Embodiments

Embodiment(s) can also be realized by a computer of a system orapparatus that reads out and executes computer executable instructions(e.g., one or more programs) recorded on a storage medium (which mayalso be referred to more fully as a ‘non-transitory computer-readablestorage medium’) to perform the functions of one or more of theabove-described embodiment(s) and/or that includes one or more circuits(e.g., application specific integrated circuit (ASIC)) for performingthe functions of one or more of the above-described embodiment(s), andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s) and/or controlling the one or morecircuits to perform the functions of one or more of the above-describedembodiment(s). The computer may include one or more processors (e.g.,central processing unit (CPU), micro processing unit (MPU)) and mayinclude a network of separate computers or separate processors to readout and execute the computer executable instructions. The computerexecutable instructions may be provided to the computer, for example,from a network or the storage medium. The storage medium may include,for example, one or more of a hard disk, a random-access memory (RAM), aread only memory (ROM), a storage of distributed computing systems, anoptical disk (such as a compact disc (CD), digital versatile disc (DVD),or Blu-ray Disc (BD)™), a flash memory device, a memory card, and thelike.

While the present disclosure has been described with reference toembodiments, it is to be understood that the disclosure is not limitedto the disclosed embodiments. The scope of the following claims is to beaccorded the broadest interpretation so as to encompass all suchmodifications and equivalent structures and functions.

What is claimed is:
 1. An image processing apparatus equipped with adirect wireless communication function for causing the image processingapparatus to function as an access point and for communicating with anexternal apparatus without going through an external access point, theimage processing apparatus comprising: at least one processor; and atleast one memory storing instructions that, when executed by the atleast one processor, cause the image processing apparatus to performoperations including: setting, as an operation setting, whether to use aproxy server that has a function of relaying Hypertext Transfer Protocol(HTTP) communication based on a user operation, and performing the HTTPcommunication with the external apparatus without going through theproxy server in a case where the external apparatus is a communicationdestination in the HTTP communication via the access point for thedirect wireless communication function, even if using the proxy serveris set as the operation setting.
 2. The image processing apparatusaccording to claim 1, wherein the image processing apparatus is aprinter or a 3D printer or a scanner.
 3. The image processing apparatusaccording to claim 1, further comprising a scanner device.
 4. The imageprocessing apparatus according to claim 3, wherein the image processingapparatus further performs operations including transmitting, by usingthe HTTP communication, data based on an image obtained by reading anoriginal with use of the scanner device to a Web-based DistributedAuthoring and Versioning (WebDAV) server.
 5. The image processingapparatus according to claim 1, wherein executing the instructionsfurther cause the image processing apparatus to perform operationsincluding: storing identification information for identifying anexternal apparatus connected to the access point for the direct wirelesscommunication function, and determining whether or not the communicationdestination in the HTTP communication is the external apparatusidentified by the stored identification information, wherein, in a casewhere the communication destination in the HTTP communication isdetermined to be the external apparatus identified by the storedidentification information, the HTTP communication with the identifiedexternal apparatus without going through the proxy server is performed.6. The image processing apparatus according to claim 1, wherein theoperations performed by the image processing apparatus further includetransmitting, by using the HTTP communication, data to the externalapparatus via the access point for the direct wireless communicationfunction without going through the proxy server, in a case where theexternal apparatus is the communication destination in the HTTPcommunication via the access point for the direct wireless communicationfunction, even if using the proxy server is set as the operationsetting.
 7. The image processing apparatus according to claim 1,wherein, in a case where the HTTP communication is to be performed viaan external access point and where using the proxy server is set as theoperation setting, the operations performed by the image processingapparatus further include transmitting, by using the HTTP communication,data to the external apparatus via the proxy server and the externalaccess point.
 8. The image processing apparatus according to claim 7,wherein, in a case where the HTTP communication is to be performed via awired local area network (LAN) interface and where using the proxyserver is set as the operation setting, the operations performed by theimage processing apparatus further include transmitting, by using theHTTP communication, data to the external apparatus via the proxy serverand the wired LAN network interface.
 9. A method for an image processingapparatus equipped with a direct wireless communication function forcausing the image processing apparatus to function as an access pointand for communicating with an external apparatus without going throughan external access point, the method comprising: setting, as anoperation setting, whether to use a proxy server that has a function ofrelaying Hypertext Transfer Protocol (HTTP) communication based on auser operation; and performing the HTTP communication with the externalapparatus without going through the proxy server in a case where theexternal apparatus is a communication destination in the HTTPcommunication via the access point for the direct wireless communicationfunction, even if using the proxy server is set as the operationsetting.
 10. The method according to claim 9, further comprisingdetermining whether the communication destination in the HTTPcommunication is a communication destination corresponding to anexternal apparatus belonging to a network provided by the access pointfor the direct wireless communication function.
 11. The method accordingto claim 9, wherein, in a case where the HTTP communication with theexternal apparatus is to be performed, performing includes performingthe HTTP communication without going through the proxy server, uponcondition that not using the proxy server is set as the operationsetting.
 12. The method according to claim 9, wherein the directwireless communication function provides direct wireless communicationconforming to Wi-Fi Direct® standard or Wi-Fi Aware® standard.
 13. Themethod according to claim 9, wherein the image processing apparatusincludes a wireless communication interface, and wherein the wirelesscommunication interface is able to operate as a wireless client forconnection to an external access point conforming to Institute ofElectrical and Electronics Engineers (IEEE) 802.11 standard, and is ableto operate as the access point conforming to the IEEE 802.11 standardfor the direct wireless communication function.
 14. The method accordingto claim 9, wherein the image processing apparatus includes wired localarea network (LAN) interfaces that connect to a LAN via a network cable,and wherein, in a case where the HTTP communication is to be performedvia the wired LAN interfaces and where using the proxy server is set asthe operation setting, performing includes performing the HTTPcommunication to the external apparatus via the proxy server.
 15. Themethod according to claim 9, wherein the image processing apparatus is aprinter or a 3D printer or a scanner.
 16. The method according to claim9, wherein the image processing apparatus is a multifunctional apparatushaving at least a print function of receiving data and printing thereceived data, and a transmission function of transmitting data to theexternal apparatus via a network.
 17. The method according to claim 9,wherein the image processing apparatus includes a scanner device. 18.The method according to claim 17, further comprising transmitting, byusing the HTTP communication, data based on an image obtained by readingan original with use of the scanner device to a Web-based DistributedAuthoring and Versioning (WebDAV) server.
 19. The method according toclaim 9, further comprising: storing identification information foridentifying an external apparatus connected to the access point for thedirect wireless communication function; and determining whether or notthe communication destination in the HTTP communication is the externalapparatus identified by the stored identification information, wherein,in a case where the communication destination in the HTTP communicationis determined to be the external apparatus identified by the storedidentification information, the HTTP communication with the identifiedexternal apparatus without going through the proxy server is performed.20. The method according to claim 9, further comprising transmitting, byusing the HTTP communication, data to the external apparatus via theaccess point for the direct wireless communication function withoutgoing through the proxy server, in a case where the external apparatusis the communication destination in the HTTP communication via theaccess point for the direct wireless communication function, even ifusing the proxy server is set as the operation setting.
 21. The methodaccording to claim 9, further comprising transmitting, by using the HTTPcommunication, data to the external apparatus via the proxy server andthe external access point, in a case where the HTTP communication is tobe performed via an external access point and where using the proxyserver is set as the operation setting.
 22. The image processingapparatus according to claim 21, wherein, in a case where the HTTPcommunication is to be performed via a wired local area network (LAN)interface and where using the proxy server is set as the operationsetting, transmitting further includes transmitting, by using the HTTPcommunication, data to the external apparatus via the proxy server andthe wired LAN network interface.